#include "Visitor.h"
class DocElement;
class Paragraph;
class RasterBitmap;
class VectorGraphics;

class DocVisitor : 
	public BaseVisitor,
	public Visitor<DocElement>,
	public Visitor<Paragraph>,
	public Visitor<RasterBitmap>,
	public Visitor<VectorGraphics>
{
	unsigned int chars_, nonBlankChars, words_, images_, graphs_;
public:
	DocVisitor::DocVisitor();
	virtual void Visit(Paragraph&);
	virtual void Visit(RasterBitmap&);
	virtual void Visit(DocElement&);
	virtual void Visit(VectorGraphics&);
	virtual void Display();
};